﻿using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AudiPyme.BLL;
using AudiPyme.DAL;

namespace AudiPyme.UI
{
    public partial class Registro : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        private void MuestraMensajeRedirige(string Mensaje, string Pagina)
        {
            StringBuilder SB = new StringBuilder();
            SB.Append("alert('");
            SB.Append(Mensaje.Replace("\n", "\\n").Replace("\r", "").Replace("'", "\\'"));
            SB.Append("');");
            SB.Append("var vers = navigator.appVersion;if(vers.indexOf('MSIE 7.0') != -1) { window.location='" + Pagina + ".aspx';} else{ window.location='" + Pagina + ".aspx'; }");
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Success", SB.ToString(), true);
        }


        private bool estaNombreRegistrado(String NombreUsuario)
        {
            ModeloContainer modelo = new ModeloContainer();
            IQueryable<String> nombre = from usu in modelo.UsuariosEstablecer
                                        select usu.Nombre;
            foreach (String s in nombre)
            {
                if (s == NombreUsuario)
                    return true;
            }
            return false;
        }

        protected void LoginButton_Click(object sender, EventArgs e)
        {
            try
            {
                lblUsuExiste.Visible = false;
                bool estaNombre = false;
                estaNombre = estaNombreRegistrado(UserName.Text);
                if (estaNombre)
                {
                    lblUsuExiste.Visible = true;
                }
                else
                {
                    lblUsuExiste.Visible = false;
                    String password = Password.Text;
                    String password1 = TxtPassword2.Text;
                    if (password.Equals(password1))
                    {
                        Usuarios usu = new Usuarios();
                        usu.Nombre = UserName.Text;
                        usu.Password = Password.Text;
                        ModeloContainer modelo = new ModeloContainer();
                        modelo.AddToUsuariosEstablecer(usu);
                        modelo.SaveChanges();
                        MuestraMensajeRedirige("Usuario registrado con éxito", "InicioSesion");
                    }
                    else
                    {
                        lblUsuExiste.Text = "Las contraseñas no coinciden. Vuelva a introducirlas";
                        lblUsuExiste.Visible = true;
                        Password.Text = "";
                        TxtPassword2.Text = "";
                    }
                }
            }
            catch (Exception e1)
            {
                e1.ToString();
                lblUsuExiste.Text = "Error al intentar registrar el usuario";
            }
        }

    }
}